Regenerating a user interface area

ABSTRACT

A user interface (UI) area having multiple data sources is regenerated based upon changes made to UI elements associated with the UI area. To efficiently regenerate the changed UI elements, a processor of the computer determines UI controls and data objects associated with the UI area to generate a conditional list. The conditional list includes corresponding events representing an association of the UI controls and the data objects. Based upon a modification to a data object, an optimized data binding structure is generated to determine a corresponding UI control that is affected by the modification. An updated UI controls list is computed to include the affected one or more UI controls based upon the optimized data binding structure. Based upon a trigger to render the UI area, the affected UIs are regenerated on the UI area by updating the affected UI controls based upon the modification.

TECHNICAL FIELD

The field generally relates to computer systems and software, and moreparticularly to software methods and systems to regenerate userinterface areas.

BACKGROUND

User interface (UI) technologies focus on interface technologies thatsupport human-computer interaction. UI technology research focuses onthe enabling technologies that help computers hear, see, speak and tounderstand, and combine these in multimodal ways. Rendering an entity ona UI includes generating a visual representation from a model by usingcomputer programs. Updating the UI indicates that an already displayedvisual representation is partially or completely refreshed.

Since the model associated with the UI includes enormous amount ofinformation, updating the UI partially or completely causes significantinformation exchange between a server hosting the model and theprocessor processing the update. Due to the amount of informationexchange, there may be an overhead caused on the processor includingexcessive or indirect computing time, memory, bandwidth and the like.Hence, reducing the amount of data transfer and the overhead whilemaintaining accuracy in updating the UI is useful.

SUMMARY

Various embodiments of systems and methods to regenerate a computergenerated user interface (UI) area are disclosed. The UI area havingmultiple data sources is regenerated based upon changes made to UIelements associated with the UI area. UI elements associated with the UIarea include UI controls and data objects. To efficiently regenerate thechanged UI elements, a processor of the computer determines UI controlsand data objects associated with the UI area to generate a conditionallist. Generating the conditional list includes determining events basedupon a correlation between the data objects, the UI controls and the UIarea. The conditional list represents an association of the UI controlsand the data objects by verifying whether the UI controls and the dataobjects reflect any modification performed on the data objects.

Based upon a modification to a data object, an optimized data bindingstructure is generated to determine a corresponding UI control that isaffected by the modification. The optimized data binding structure isgenerated by distinguishing between data bindings associated with datainstances and data bindings associated with iterative data objects. Anupdated UI controls list is computed to include the affected one or moreUI controls based upon the optimized data binding structure. If themodification is performed on a UI control, the UI control is directlyadded to the UI controls list. Based upon a trigger to render the UIarea, the affected UIs are regenerated on the UI area by updating theaffected UI controls based upon the modification.

These and other benefits and features of embodiments will be apparentupon consideration of the following detailed description of theembodiments thereof, presented in connection with the followingdrawings.

BRIEF DESCRIPTION OF THE DRAWINGS

The claims set forth the embodiments with particularity. The embodimentsare illustrated by way of examples and not by way of limitation in thefigures of the accompanying drawings in which like references indicatesimilar elements. The embodiments, together with its advantages, may bebest understood from the following detailed description taken inconjunction with the accompanying drawings.

FIG. 1 is a block diagram illustrating an overview of a method toregenerate a user interface area according to an embodiment.

FIG. 2 is a process flow diagram illustrating a computer-implementedmethod to regenerate a user interface area according to an embodiment.

FIG. 3 is a block diagram illustrating a computer system to regenerate auser interface area according to an embodiment.

FIG. 4 is a block diagram illustrating an exemplary computer system,according to an embodiment.

DETAILED DESCRIPTION

Embodiments of techniques for systems and methods to regenerate a userinterface area are disclosed herein. In the following description,numerous specific details are set forth to provide a thoroughunderstanding of the embodiments. One skilled in the relevant art willrecognize, however, that the embodiments can be practiced without one ormore of the specific details, or with other methods, components,materials, etc. In other instances, well-known structures, materials, oroperations are not shown or described in detail.

Reference throughout this specification to “one embodiment”, “thisembodiment” and similar phrases, means that a particular feature,structure, or characteristic described in connection with the embodimentis included in at least one of the one or more embodiments. Thus, theappearances of these phrases in various places throughout thisspecification are not necessarily all referring to the same embodiment.Furthermore, the particular features, structures, or characteristics maybe combined in any suitable manner in one or more embodiments.

FIG. 1 is a block diagram illustrating an overview of a method toregenerate a user interface area according to an embodiment. The UI areahaving multiple data sources is regenerated based upon changes made toUI elements associated with the UI area. The UI elements associated withthe UI area include UI controls and data objects. UI controls are UIelements that represent arrangements of editable information (for e.g.,read and write enabled) and non-editable information (for e.g., readonly enabled) and hold the data processed by an associated applicationand the available interactions on this data. In an embodiment, theeditable information is changeable by users and programs, and thenon-editable information is changeable by program only.

Data objects are editable entities representing transitory compilationsof attributes of a corresponding UI element. A path that is used toaccess this data object is called a binding. UI technologies use UIcontrols as an interface for application development, and a renderergenerates a corresponding markup fragment from the UI controls and itsproperties. Since the UI area has multiple data sources, a mode of dataaccess is specified for accessing the data rather than the actual value.While rendering the UI area, the renderer decodes the specified accessand determines the actual value. Thus the final UI is a result of theinformation from both the UI control and the corresponding bound data.When the bound data or the UI control is modified, the UI area iscorrespondingly updated and regenerated.

To efficiently regenerate the modified UI elements, thereby reducing theCPU usage and the amount of data exchanged, an optimized regeneratingprocess may be employed. Examples for optimizing the regenerationprocess include minimizing a quantity of regenerated UI elements bydetermining affected UI elements, removing duplicates and existingelements, maintaining threshold to determine a quantity of regeneration,regenerating one or more parts of a UI element, and the like. Toregenerate the UI area with modified UI elements, the UI controls anddata objects associated with the UI area are determined to generate aconditional list. Generating the conditional list includes determiningevents based upon a correlation between the data objects, the UIcontrols and the UI area. The conditional list represents an associationof the UI controls and the data objects by verifying whether the UIcontrols and the data objects reflect any modification performed on thedata objects. Based upon a modification to a data object, an optimizeddata binding structure is generated to determine a corresponding UIcontrol that is affected by the modification. An updated UI controlslist is computed to include the affected one or more UI controls basedupon the optimized data binding structure. Computing an updated UIcontrols list includes determining the affected one or more UI controls,and compiling the UI controls to generate the list. If the modificationis performed on a UI control, the UI control is directly added to the UIcontrols list. Based upon a trigger to render the UI area, the affectedUI controls are regenerated on the UI area by updating the affected UIcontrols based upon the modification.

Computer system 100 comprises a user interface (UI) area 105 includingUI elements 110, 125 and 135. The UI elements may have UI componentsdepending upon the type of UI elements. For instance, if UI element 110is a text box, it includes field 115 representing a name of the UIelement and value 120 representing the editable entity of the UIelement. Similarly, UI element 125 includes value 130, and UI element135 includes field 140 and value 145. UI area 105 is in communicationwith UI engine 150 that represents a backend structure of UI area 105.UI engine 150 includes UI control 155 representing the UI controlsassociated with the UI elements (e.g. 110, 125 and 135) and data objects160 representing the data objects associated with editable entities(e.g. 120, 130 and 145).

Database 165 stores a relationship map of each of the UI elements,corresponding fields and entities, UI controls and data objects. Therelationship map may be used to determine interdependencies between UIcontrols and data objects. Conditional list 170 is generated bydetermining UI controls and data objects associated with a currentinstance of the UI area 105. Conditional list 170 includes events whichrepresent an association between the UI controls and the data objects.The association between each UI control and data object verifies whetherthe corresponding UI control or data object reflects any modificationsperformed on the data objects. For instance, if the type of UI element110 is modified, field 115 and value 120 may also be modified. Howeverif the type of UI element 125 is modified, value 130 may not bemodified. The association verifies the status of the UI element, bydetermining if the element reflects any modification performed on thedata object. For example, conditional list 170 may include events thatare triggered by each change in a UI element (UI control and/or dataobject). Conditional list 170 is maintained in a manner to avoidduplication of event entries, thereby not overloading the processor ofthe computer system. For instance, if field 115 is modified twice, thelatest modification is stored and is represented by a correspondingevent.

The relationship between data objects 160 and the UI area 105 mayinclude a complex mapping. In an embodiment, the relationship betweenthe UI elements and the data objects include a complex mapping. Complexmapping may also include immutable UI controls and restrict modificationto an associated data. To accommodate complex mapping, optimized databinding structure 175 is generated based upon a modification to a dataobject. Optimized data binding structure 175 is interpreted by detectingthe affected UI controls from the modified data objects. Theinterpretation is accomplished by organizing the bindings between UIcontrols 155 and data objects 160 in a bi-directional central datastructure, where the mapping can be realized via the data objects andvia the UI controls.

The interpretation may also be accomplished by building a separateoptimized data binding structure containing binding paths of thecorresponding UI controls and data objects and the identification of UIcontrols that are affected due to the modification performed on one ormore data objects. Thus, optimized data binding structure 175 includes alist of UI controls that are affected by the modification of one or moredata objects. Optimized data binding structure 175 is persisted untilthe bindings are changed, and upon any changes to the bindings,optimized data binding structure 175 is updated. In an embodiment, arelationship between the markup fragment of UI area 105 and UI controls155 are also associated with optimized data binding structure 175.

In an embodiment, the bindings may not specifically refer to a dataobject. For instance, for a table with multiple rows, each row mayrepresent an instance of the data object, and the corresponding bindingpath may represent the specific instance. For example, the binding pathmay be represented as: “TABLE.<row number>.FIELD”, and while renderingsuch a path, the <row number> is replaced by an actual number of therow. For such cases, optimized data binding structure 175 includes abinding path of a corresponding instance of the UI control.

In another embodiment, optimized data binding structure 175distinguishes between binding to a specific data instance of the dataobjects and binding to iterative data objects. For the specific datainstance of the data object, the data object can be used to trace theaffected UI control. For iterative data objects, the instances of thedata object are traced to determine the affected UI control. This methodof distinguishing between data bindings associated with data instanceand data bindings associated with iterative data objects includes alesser number of mappings when compared to the method of including abinding path for each instance.

An updated UI controls list 180 is computed to include the affected UIcontrols based upon optimized data binding structure 175. Updated UIcontrols list 180 includes a list of UI controls that are to be updatedto regenerate on UI area 105. In an embodiment, UI control specificbusiness logic is included to notify one or more dependent UI controlsbased upon updating the affected UI controls. These dependencies may berepresented as data bindings or evaluated by the business logic todetermine the associated dependent UI controls and to compute updated UIcontrols list 180. Based upon a trigger to render the UI area, theaffected UI controls present in updated UI controls list 180 areregenerated on UI area 105 by updating contents of the affected UIcontrols based upon the modification.

In an embodiment, a complexity of the affected UI controls is computedto determine a degree of regenerating of the UI controls on the UI area.The complexity of the affected UI controls includes an amount ofmodification, a number of cross references or interdependencies of UIcontrols, a number of UI controls affected, or the like. A degree ofregenerating represents a measure of data that needs to be regeneratedon UI area 105. For instance, in a UI segment containing twenty UIcontrols, if seventeen UI controls are affected, the whole UI segmentmay be regenerated instead of determining conditional list 170,optimized data binding structure 175 and updated UI controls list 180.In another embodiment, a composite regenerating of the affected UIcontrols is executed based upon a degree of modification. For instance,consider a UI segment made up of seven UI segment parts; if one UIsegment part is affected, only the affected UI segment part may beregenerated instead of regenerating the entire UI segment.

In an embodiment, computer system 100 comprises a UI programming modelincluding a user interface phase to receive the modification to dataobjects 160 associated with UI area 105 and to regenerate the affectedUI controls based upon the modification; an event handling phase todetermine conditional list 170 of corresponding events and based uponthe modification, to generate optimized data binding structure 175; anda rendering phase to trigger a regenerating of the UI area byregenerating the affected UI controls based upon the modification. In anembodiment, the regenerating of the affected updated UI controls fromupdated UI controls list 180 is executed by consolidating the affectedUI controls and regenerating them during the rendering phase instead ofregenerating each affected UI control upon modification.

In an embodiment, the UI programming model is configured to include a UIrendering framework to compute the updated UI controls list includingthe affected UI controls; a server-side framework to regenerate a markuppage based upon the updated UI controls list; and a client-sideframework to convert the markup page to an application protocol andtransfer the application protocol to a corresponding client.

In an embodiment, the UI controls include a feature of regenerating anattribute of the UI element, instead of regenerating the entire UIelement. Hence, if the attribute of the UI element is affected, theattribute is regenerated. For instance, if a UI element has threeattributes, ‘UI field name’, ‘UI representation’ and ‘UI value’, and ifthe attribute ‘UI representation’ is affected, then ‘UI representation’is regenerated.

In an embodiment, a UI rendering framework is configured to compute theupdated UI controls list which includes the UI controls that areaffected by the modification. A server-side framework regenerates amarkup page based upon the updated UI controls list and a client-sideframework converts the markup page to an application protocol andtransfers the application protocol to a corresponding client. In anembodiment, a markup page is a collection of several markup fragments.

In an embodiment, a threshold for the modification of the data objectsis determined and based upon the threshold, a degree of regeneration ofthe UI controls is determined and rendered on the computer generated UIarea. Determining a threshold of the modification includes determiningan amount of the modification of the data objects. Based upon the amountof the modification, a degree of regeneration of the UI controls isdetermined. In an embodiment, if the amount of modifications exceeds thethreshold, the entire UI may be regenerated instead of determining themodified UI controls. In an embodiment, the UI area is rendered by deltarendering engine 185.

FIG. 2 is a process flow diagram illustrating a computer-implementedmethod to regenerate a user interface (UI) area according to anembodiment. At process block 205, UI controls and data objects that areassociated with the UI area are determined. At process block 210, aconditional list of events is generated to determine an associationbetween the UI controls and the data objects. The conditional list ofevents are determined based upon a correlation between the data objectsand the UI area, a correlation between the UI control and the UI area,or a correlation between the data object and the UI control. Thecorrelation includes a relation between any two or more entities (e.g.UI area, UI controls, and data objects) such that any change in oneentity is accompanied by a corresponding change in the other. Theassociation of the UI controls and the data objects verifies whether aUI control gets affected when its corresponding data control ismodified. Hence, the conditional list includes a list of UI controlsthat may be affected when their corresponding data objects are modified.

At process block 215, a modification to one or more data objects isreceived. The modification may be received from the UI or an applicationassociated with the UI. At process block 220, based upon themodification, an optimized data binding structure is generated todetermine corresponding UI controls that are affected by themodification. The optimized data binding structure includes a list of UIcontrols that are affected by the modification to their correspondingdata objects. At process block 225, based upon the optimized databinding structure, an updated UI controls list is computed, thatincludes the affected UI controls. In an embodiment, the modificationmay be received for a UI control. In such cases, the modified UI controlis directly included in the updated UI controls list. At process block230, the affected UI controls from the updated UI controls list areregenerated on the UI area by updating the affected UI controls basedupon the modification.

FIG. 3 is a block diagram illustrating a computer system to regenerate auser interface area according to an embodiment. Computer system 300includes user interface (UI) engine 305, event handler 310, data binder315, delta rendering engine 320, processor 325, database 330 and memoryelement 335. In an embodiment, UI engine 305 is in communication withevent handler 310 and delta rendering engine 320. Data binder 315 is incommunication with event handler 310 and delta rendering engine 320.Delta rendering engine 320 is in communication with processor 325 ofcomputer system 300. In an embodiment, processor 325 is configured toread and execute instructions stored in memory element 335. Theinstructions stored in memory element 335 are used to regenerate the UIarea according to an embodiment.

A computer generated UI area (interchangeably called a UI areathroughout the specification) in communication with UI engine 305displays one or more UI elements configured to be regenerated on the UI.In an embodiment, to regenerate the UI area, UI engine 305 determinesone or more UI controls and one or more data objects that are associatedwith the UI area. In an embodiment, the data objects and the UI controlsassociated with the UI area are stored in database 330. Event handler310 generates a conditional list of one or more events representing anassociation of the corresponding UI controls and the data objects. Theseevents represent an association of the corresponding UI controls and thedata objects associated with the UI area. Processor 325 recognizes oneor more modification of one or more data objects. Based upon themodifications, data binder 315 generates an optimized data bindingstructure to determine corresponding one or more UI controls that areaffected by the modification.

Delta rendering engine 320 computes an updated UI controls listincluding the affected UI controls based upon the optimized data bindingstructure. Further, delta rendering engine 320 regenerates the affectedUI controls on the UI area by updating the affected UI controls basedupon the modification. Thus, computer system 300 is utilized todetermine the UI controls that are affected by the modification, and theUI area is updated to change the affected UI controls. In an embodiment,the conditional list and the optimized data binding structure are storedin database 330. Based upon a modification associated with the dataobject, the respective data is accessed from database 330 to compute theupdated UI controls list.

In an embodiment, a server is associated with regenerating the UI area.The server hosts event handler 310 and data binder 315. The server isconfigured to determine the UI controls and the data objects associatedwith the UI area. Based upon the determined UI controls and the dataobjects, the server generates a conditional list of the correspondingevents representing the UI controls that are correlated to the dataobjects. Upon receiving a modification in the data object, the servergenerates the optimized data binding structure. From the structure, theserver determines the UI controls that are affected by the modificationand assigns them to the updated UI controls list. Based upon a triggerreceived to render the UI area, the server regenerates the affected UIcontrols on the UI area by updating the affected UI controls based uponthe modification.

Some embodiments may include the above-described methods being writtenas one or more software components. These components, and thefunctionality associated with each, may be used by client, server,distributed, or peer computer systems. These components may be writtenin a computer language corresponding to one or more programminglanguages such as, functional, declarative, procedural, object-oriented,lower level languages and the like. They may be linked to othercomponents via various application programming interfaces and thencompiled into one complete application for a server or a client.Alternatively, the components maybe implemented in server and clientapplications. Further, these components may be linked together viavarious distributed programming protocols. Some example embodiments mayinclude remote procedure calls being used to implement one or more ofthese components across a distributed programming environment. Forexample, a logic level may reside on a first computer system that isremotely located from a second computer system containing an interfacelevel (e.g., a graphical user interface). These first and secondcomputer systems can be configured in a server-client, peer-to-peer, orsome other configuration. The clients can vary in complexity from mobileand handheld devices, to thin clients and on to thick clients or evenother servers.

The above-illustrated software components are tangibly stored on acomputer readable storage medium as instructions. The term “computerreadable storage medium” should be taken to include a single medium ormultiple media that stores one or more sets of instructions. The term“computer readable storage medium” should be taken to include anyphysical article that is capable of undergoing a set of physical changesto physically store, encode, or otherwise carry a set of instructionsfor execution by a computer system which causes the computer system toperform any of the methods or process steps described, represented, orillustrated herein. Examples of computer readable storage media include,but are not limited to: magnetic media, such as hard disks, floppydisks, and magnetic tape; optical media such as CD-ROMs, DVDs andholographic devices; magneto-optical media; and hardware devices thatare specially configured to store and execute, such asapplication-specific integrated circuits (“ASICs”), programmable logicdevices (“PLDs”) and ROM and RAM devices. Examples of computer readableinstructions include machine code, such as produced by a compiler, andfiles containing higher-level code that are executed by a computer usingan interpreter. For example, an embodiment may be implemented usingJava, C++, or other object-oriented programming language and developmenttools. Another embodiment may be implemented in hard-wired circuitry inplace of, or in combination with machine readable software instructions.

FIG. 4 is a block diagram illustrating an exemplary computer system 400,according to an embodiment. The computer system 400 includes a processor405 that executes software instructions or code stored on a computerreadable storage medium 455 to perform the above-illustrated methods.The computer system 400 includes a media reader 440 to read theinstructions from the computer readable storage medium 455 and store theinstructions in storage 410 or in random access memory (RAM) 415. Thestorage 410 provides a large space for keeping static data where atleast some instructions could be stored for later execution. The storedinstructions may be further compiled to generate other representationsof the instructions and dynamically stored in the RAM 415. The processor405 reads instructions from the RAM 415 and performs actions asinstructed. According to one embodiment, the computer system 400 furtherincludes an output device 425 (e.g., a display) to provide at least someof the results of the execution as output including, but not limited to,visual information to users and an input device 430 to provide a user oranother device with means for entering data and/or otherwise interactwith the computer system 400. Each of these output devices 425 and inputdevices 430 could be joined by one or more additional peripherals tofurther expand the capabilities of the computer system 400. A networkcommunicator 435 may be provided to connect the computer system 400 to anetwork 450 and in turn to other devices connected to the network 450including other clients, continuation servers, data stores, andinterfaces, for instance. The modules of the computer system 400 areinterconnected via a bus 445. Computer system 400 includes a data sourceinterface 420 to access data source 460. The data source 460 can beaccessed via one or more abstraction layers implemented in hardware orsoftware. For example, the data source 460 may be accessed by network450. In some embodiments the data source 460 may be accessed via anabstraction layer, such as, a semantic layer.

A data source is an information resource. Data sources include sourcesof data that enable data storage and retrieval. Data sources may includedatabases, such as, relational, transaction, hierarchical,multi-dimensional (e.g., OLAP), object oriented databases, and the like.Further data sources include tabular data (e.g., spreadsheets, delimitedtext files), data tagged with a markup language (e.g., XML data),transaction data, unstructured data (e.g., text files, screenscrapings), hierarchical data (e.g., data in a file system, XML data),files, a plurality of reports, and any other data source accessiblethrough an established protocol, such as, Open DataBase Connectivity(ODBC), produced by an underlying software system (e.g., ERP system),and the like. Data sources may also include a data source where the datais not tangibly stored or otherwise ephemeral such as data streams,broadcast data, and the like. These data sources can include associateddata foundations, semantic layers, management systems, security systemsand so on.

In the above description, numerous specific details are set forth toprovide a thorough understanding of embodiments. One skilled in therelevant art will recognize, however that the embodiments can bepracticed without one or more of the specific details or with othermethods, components, techniques, etc. In other instances, well-knownoperations or structures are not shown or described in detail.

Although the processes illustrated and described herein include seriesof steps, it will be appreciated that the different embodiments are notlimited by the illustrated ordering of steps, as some steps may occur indifferent orders, some concurrently with other steps apart from thatshown and described herein. In addition, not all illustrated steps maybe required to implement a methodology in accordance with the one ormore embodiments. Moreover, it will be appreciated that the processesmay be implemented in association with the apparatus and systemsillustrated and described herein as well as in association with othersystems not illustrated.

The above descriptions and illustrations of embodiments, including whatis described in the Abstract, is not intended to be exhaustive or tolimit the one or more embodiments to the precise forms disclosed. Whilespecific embodiments of, and examples for, the one or more embodimentsare described herein for illustrative purposes, various equivalentmodifications are possible within the scope, as those skilled in therelevant art will recognize. These modifications can be made in light ofthe above detailed description. Rather, the scope is to be determined bythe following claims, which are to be interpreted in accordance withestablished doctrines of claim construction.

What is claimed is:
 1. A computer implemented method to regenerate acomputer generated user interface (UI) area, comprising: determining oneor more UI controls and one or more data objects associated with thecomputer generated UI area; generating a conditional list of one or morecorresponding events to determine a correlation between the one or moreUI controls and the one or more data objects; receiving a modificationto the one or more data objects from the computer generated UI area;upon receiving the modification to the one or more data objects, aprocessor of a computer generating an optimized data binding structurebased upon the one or more events, to determine corresponding one ormore UI controls affected by the modification; computing an updated UIcontrols list by assigning the one or more affected UI controls, basedupon the optimized data binding structure; and in response to a triggerreceived to render the computer generated UI area, regenerating the oneor more affected UI controls on the computer generated UI area byupdating the one or more affected UI controls based upon themodification.
 2. The computer implemented method of claim 1, whereingenerating the conditional list includes determining the one or morecorresponding events based upon a correlation between the data objectsand the computer generated UI area, the one or more UI controls and thecomputer generated UI area, and the data objects and the one or more UIcontrols.
 3. The computer implemented method of claim 1, whereingenerating the conditional list includes determining an association ofthe one or more UI controls and the data objects to verify whether thecorresponding one or more UI controls reflect the modification of theone or more data objects.
 4. The computer implemented method of claim 1further comprising: computing the updated UI controls list based upon amodification of the one or more UI controls, to regenerate the one ormore affected UI controls on the computer generated UI area.
 5. Thecomputer implemented method of claim 1, wherein generating the optimizeddata binding structure further comprises: distinguishing between one ormore data bindings associated with corresponding one or more datainstances of the data objects and one or more data bindings associatedwith corresponding one or more iterative data objects.
 6. The computerimplemented method of claim 1 further comprising: determining the one ormore UI controls from the optimized data binding structure when thecomputer generated UI area is associated with one or more immutable UIcontrols.
 7. The computer implemented method of claim 1 furthercomprising: generating a UI control specific business logic to notifyone or more dependent UI controls based upon updating the one or moreaffected UI controls.
 8. The computer implemented method of claim 1further comprising: computing a complexity of the affected UI todetermine a degree of regenerating of the one or more affected UIcontrols on the computer generated UI area.
 9. The computer implementedmethod of claim 1, wherein regenerating the one or more affected UIcontrols further comprises: consolidating the one or more affected UIcontrols.
 10. The computer implemented method of claim 1 furthercomprising: determining a threshold for the modification of the one ormore data objects; and based upon the threshold, determining a degree ofregenerating of the one or more UI controls to be rendered on thecomputer generated UI area.
 11. The computer implemented method of claim1 further comprising: executing a composite regenerating of the one ormore affected UI controls based upon a degree of modification.
 12. Thecomputer implemented method of claim 1 further comprising: eliminatingone or more duplicate affected UI controls from the updated UI controlslist to optimize the regenerating.
 13. The computer implemented methodof claim 1 further comprising: a UI rendering framework to compute theupdated UI controls list including the one or more affected UI controls;a server-side framework to regenerate a markup page based upon theupdated UI controls list; and a client-side framework to convert themarkup page to an application protocol and transfer the applicationprotocol to a corresponding client.
 14. A computer system to regeneratea computer generated user interface (UI) area, comprising: a processorconfigured to read and execute instructions stored in one or more memoryelements; and the one or more memory elements storing instructions to auser interface (UI) engine to determine one or more UI controls and oneor more data objects associated with the computer generated UI area; anevent handler to generate a conditional list of one or more eventsrepresenting a corresponding association of the one or more UI controlsand the data objects, and to determine a threshold for the modificationof the one or more data objects and a degree of regenerating of the oneor more UI controls; a data binder to generate an optimized data bindingstructure based upon a modification of the one or more data objects, anddetermine corresponding one or more UI controls affected by themodification; and a delta rendering engine to compute an updated UIcontrols list including the one or more affected UI controls based uponthe optimized data binding structure, and to regenerate the one or moreaffected UI controls on the computer generated UI area by updating theone or more affected UI controls based upon the modification.
 15. Thecomputer system of claim 14 further comprises: a server to determine theone or more UI controls and the data objects associated with thecomputer generated UI area; generate a conditional list of thecorresponding events representing the one or more UI controls correlatedto the data objects; receive a modification in the data object from thecomputer generated UI area; generate the optimized data bindingstructure based upon the modification; determine from the optimized databinding structure, the one or more UI controls affected by themodification; assign the one or more UI controls affected by themodifications to the updated UI controls list; and based upon a triggerreceived to render the computer generated UI area, regenerate the one ormore affected UI controls on the computer generated UI area by updatingthe one or more affected UI controls based upon the modification.
 16. Anarticle of manufacture including a non-transitory computer readablestorage medium to tangibly store instructions, which when executed by acomputer, cause the computer to: determine one or more user interface(UI) controls and one or more data objects associated with a computergenerated UI area generate a conditional list of one or morecorresponding events to determine a correlation between the one or moreUI controls and the one or more data objects; receive a modification tothe one or more data objects from the computer generated UI area; uponreceiving the modification of the one or more data objects, generate anoptimized data binding structure based upon the events, to determinecorresponding one or more UI controls affected by the modification;compute an updated UI controls list by assigning the one or moreaffected UI controls based upon the optimized data binding structure;and in response to a trigger received to render the computer generatedUI area, regenerate the one or more affected UI controls on the computergenerated UI area by updating the one or more affected UI controls basedupon the modification.